/**
 * 复制  resource文件夹下的功勋.mp4
 * 
 */
const fs = require('fs');
const process = require('process');
// 方式一 ：readFile

// 1.读取文件内容
let data = fs.readFileSync('../resource/功勋.mp4');

// 2 写入文件
fs.writeFileSync('../resource/功勋2.mp4',data);
console.log(process.memoryUsage());  //输出对象：rss:36102144  =>34.4mb

// 方式二  流式操作

// 1.创建读取流对象
const rs = fs.createReadStream('../resource/功勋.mp4');

// 2.创建写入流对象
const ws = fs.createWriteStream('../resource/功勋3.mp4');

// 绑定data 事件
// rs.on('data',chunk =>{
//     ws.write(chunk); 
// })
// rs.on('end',()=>{
//     console.log(process.memoryUsage());  //输出对象：rss:29327360  =>27.9mb
// })

// 简便写法  pipe 管道   读取出来的数据通过管道输送到 写入流
rs.pipe(ws);

/**
 * 总结：流式操作更优 ：少占内从   
 *      普通读取：全部读取-》再写入 （占空间大）
 *      流式读取：读64kb =》写入64kb （理想情况（一般读取速度大于写入速度）：只占64 ）
 * 
 */